package de.tum.in.eist.poll.shared;

import java.util.Date;

import com.google.gwt.user.client.rpc.IsSerializable;

/**
 * Representation of a feedback submitted by a student.
 */
public class Feedback implements IsSerializable {

	/**
	 * The lecture the feedback addresses.
	 */
	private Lecture lecture;

	/**
	 * Date at which the feedback was submitted.
	 */
	private Date date;

	/**
	 * Answer for question 1.
	 */
	private int question1;

	/**
	 * Answer of question 2.
	 */
	private String question2;

	/**
	 * Answer of question 3.
	 */
	private String question3;

	/**
	 * Default zero-argument constructor.
	 */
	public Feedback() {
	}

	/**
	 * @param lecture
	 *            {@link #lecture}
	 */
	public Feedback(final Lecture lecture) {
		this.lecture = lecture;
	}

	/**
	 * @return the {@link #lecture}.
	 */
	public final Lecture getLecture() {
		return lecture;
	}

	/**
	 * Set the date of the feedback.
	 * 
	 * @param date Date of the feedback
	 */
	public final void setDate(final Date date) {
		this.date = date;
	}

	/**
	 * Get the date of the feedback.
	 * 
	 * @return Date of the feedback
	 */
	public final Date getDate() {
		return date;
	}

	/**
	 * Set the feedback for question 1.
	 * 
	 * @param question1 feedback for question 1
	 */
	public final void setQuestion1(final int question1) {
		this.question1 = question1;
	}

	/**
	 * Get the feedback for question 1.
	 * 
	 * @return feedback for question 1
	 */
	public final int getQuestion1() {
		return question1;
	}

	/**
	 * Set the feedback for question 2.
	 * 
	 * @param question2 feedback for question 2
	 */
	public final void setQuestion2(final String question2) {
		this.question2 = question2;
	}

	/**
	 * Get the feedback for question 2.
	 * 
	 * @return feedback for question 2
	 */
	public final String getQuestion2() {
		return question2;
	}

	/**
	 * Set the feedback for question 3.
	 * 
	 * @param question3 feedback for question 3
	 */
	public final void setQuestion3(final String question3) {
		this.question3 = question3;
	}

	/**
	 * Get the feedback for question 3.
	 * 
	 * @return feedback for question 3
	 */
	public String getQuestion3() {
		return question3;
	}
}
